package com.niiwoo.civet.trade.service.lend;

import com.niiwoo.civet.trade.dto.common.BathTransactionNotifyDTO;
import com.niiwoo.civet.trade.dto.common.LendOrderDTO;

import java.util.List;

/**
 * 满标放款处理
 *
 * @author liaojunjun
 */
public interface ProjectLendDubboService {

    /**
     * 放款结果通知
     */
    void lendResultNotify(List<BathTransactionNotifyDTO> lendNotifyDTOList);


    /**
     * 通过投资订单
     *
     * @param withdrawOrderId
     */
    LendOrderDTO queryLendOrderByWithdrawOrderId(Long withdrawOrderId);

	/**
	 * 银行放款结果查询
	 */
	void bankLendResultQueryJob();

	/**
	 * 银行放款失败任务
	 */
	void bankLendFailedJob();

	/**
	 * 银行标的状态变更任务
	 */
	void bankProjectStatusJob();

	/**
	 * 记账任务
	 */
	void accountingStatusJob();

	/**
	 * 投资排行榜任务
	 */
	void investRankStatusJob();

	/**
	 * 投资排行榜任务
	 */
	void borrowerPrizeStatusJob();

	/**
	 * 投资人红包任务
	 */
	void investorPrizeStatusJob();
	
	/**
	 * 标运营活动-投资加息补偿任务
	 */
	default void projectRaiseRateStatusJob() {}

	/**
	 * 包运营活动-投资加息补偿任务
	 */
	default void packageRaiseRateStatusJob() {}

	/**
	 * 居间借款合同补偿
	 * @param projectId
	 */
	default void signContract(Long projectId){}

}
